package com.ruoyi.finance.mapper;

import java.math.BigDecimal;
import java.util.List;

import com.ruoyi.IndexDtoByTwo;
import com.ruoyi.finance.domain.BuyMustPay;
import org.apache.ibatis.annotations.Param;

/**
 * 采购应付Mapper接口
 * 
 * @author lvql
 * @date 2024-11-06
 */
public interface BuyMustPayMapper 
{
    /**
     * 查询采购应付
     * 
     * @param id 采购应付主键
     * @return 采购应付
     */
    public BuyMustPay selectBuyMustPayById(Integer id);
    BuyMustPay selectBuyMustPayByCode(String code);

    /**
     * 查询采购应付列表
     * 
     * @param buyMustPay 采购应付
     * @return 采购应付集合
     */
    public List<BuyMustPay> selectBuyMustPayList(BuyMustPay buyMustPay);
    public List<BuyMustPay> getReconList(BuyMustPay buyMustPay);

    /**
     * 获取当前所有应付
     * @return
     */
    public BigDecimal getAllMustPay();

    /**
     * 获取当日采购应付笔数及金额
     * @return
     */
    public IndexDtoByTwo getBuyCountAndMoney();

    /**
     * 获取当日销售退货应付笔数及金额
     * @return
     */
    public IndexDtoByTwo getSaleBackCountAndMoney();
    /**
     * 新增采购应付
     * 
     * @param buyMustPay 采购应付
     * @return 结果
     */
    public int insertBuyMustPay(BuyMustPay buyMustPay);

    /**
     * 修改采购应付
     * 
     * @param buyMustPay 采购应付
     * @return 结果
     */
    public int updateBuyMustPay(BuyMustPay buyMustPay);

    /**
     * 删除采购应付
     * 
     * @param id 采购应付主键
     * @return 结果
     */
    public int deleteBuyMustPayById(Integer id);

    /**
     * 批量删除采购应付
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteBuyMustPayByIds(Integer[] ids);

    List<BuyMustPay> selectBuyMustPayListBySourceCodeList(@Param("sourceCodeList") List<String> rkCodeList);
}
